using NHibernate.Validator.Constraints;
using SharpArch.Core.PersistenceSupport;
using SharpArch.Core.DomainModel;
using System;

namespace GoldenBicycleCompany.Core
{
    public class Customer : Entity
    {
        public Customer() { }
        
        [DomainSignature]
        [NotNullNotEmpty]
        public virtual string ValidLicenseNumber { get; set; }

        [DomainSignature]
        [NotNullNotEmpty]
        public virtual string FirstName { get; set; }

        [DomainSignature]
        [NotNullNotEmpty]
        public virtual string MiddleName { get; set; }

        [DomainSignature]
        [NotNullNotEmpty]
        public virtual string LastName { get; set; }

        [DomainSignature]
        [NotNull]
        public virtual DateTime BirthDate { get; set; }
    }
}
